package cn.good.yan.t6.t1;

import jakarta.validation.constraints.*;

/**
 * 6 数据校验：Validation  - 基于方法演示
 *      2. 创建实体类
 *      常用注解：
 *      @NotNull:  检查字段值不为null。
 *      @NotEmpty: 检查字符串、集合或数组的值不为空。
 *      @NotBlank: 检查字符串的值不为空或不只包含空格字符。
 *      @Min(value): 检查字段值大于或等于指定的最小值。
 *      @Max(value): 检查字段值小于或等于指定的最大值。
 *      @Size(max, min): 检查字段值的大小在指定范围内。
 *      @Email: 检查字段值符合电子邮件的格式要求。
 *      @Pattern(regex): 检查字段值符合指定的正则表达式。
 *
 * @author shengren.yan
 * @create 2023-09-14
 */
public class User {
    @NotNull
    private String name;

    @Min(0)
    @Max(120)
    private int age;

    @Pattern(regexp = "^1(3|4|5|7|8)\\d{9}$",message = "手机号码格式错误")
    @NotBlank(message = "手机号码不能为空")
    private String phone;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    @Override
    public String toString() {
        return "User{" +
                "name='" + name + '\'' +
                ", age=" + age +
                ", phone='" + phone + '\'' +
                '}';
    }
}
